1. Technical Field
The present invention is directed to communications networks. More specifically, the present invention is directed to a system and method of reducing data corruption due to recycled Internet Protocol (IP) identification numbers.
2. Description of Related Art
There are several local area network (LAN) technologies in use today, but the most popular is by far the Ethernet. The Ethernet is an open-standard technology. This openness, combined with the ease of use and robustness of the Ethernet system contribute to its widespread implementation in the industry.
The Ethernet supports data transfer rates of 10 Mbps (megabits per second). However, many customers currently have, or foresee having, network throughput bottlenecks due to faster server processors, new applications, and more demanding environments that require greater network data transfer rates than existing LANs can provide. In addition, as networks mature, server consolidation results in a greater number of users and more network traffic per average file server, further straining the throughput capabilities of existing LANs. New data-intensive applications, such as network file server backups and synchronized audio/video, require reduced latency, as well as new levels of data transmission speed and reliability. To meet this ever-increasing demand, faster Ethernet technologies are being defined with data throughput of 100 Mbps and 1000 Mbps. The 1000 Mbps Ethernet is referred to as a Gigabit Ethernet.
In any event, data is generally transmitted on a network in packets. Before being transmitted, however, several headers may be added to the packets. One of the headers that may be added is an IP header. The IP header has a two-byte identification field that is used to facilitate packet fragmentations. For example, as a packet is traversing the network, routers may fragment the packet into smaller packets. To ascertain that a receiving host is able to reconstruct a packet after it has been fragmented in transit, a transmitting host will give the packet an identity by entering a number into the IP identification field. If a packet is fragmented, each fragment will retain the IP identification number in its IP header. When the receiving host receives the fragments, using the IP identification number along with other fields in the IP header, it will be able to reconstruct the packet.
The two-byte identification field allows for 65,536 unique IP packets to be generated before the IP identification numbers recycle. With the use of the Gigabit Ethernet, however, this number of packets can be generated within one (1) second. Presently, it is rather common to have fragment re-assembly timers of thirty (30) seconds. Thus, using a fragment re-assembly timer of thirty (30) seconds with the Gigabit Ethernet may result in two or more packets having the same IP identification number on the network.
When this occurs, if one or more fragments from a first packet are lost or dropped and if corresponding fragments from a second packet arrive at the receiving host within the 30-second re-assembly time of the first packet, the first packet may be re-assembled using the fragments from the second packet if the fragment offsets of the second packet match the fragment offsets of the first packet. Consequently, the re-assembled first packet will be erroneous. This error should in most cases be caught using a checksum value that is included in the IP header. Nonetheless, there may be times when the error may not be flagged by the checksum value. In these cases, erroneous data will be used.
Thus, what is needed is a method and apparatus for ascertaining that fragments from two or more different packets that may have the same IP identification number are distinguishable from each other.